package com.divemotor.ventarepuestosinternet.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "TAL_VW_VEHICULO")
public class Vehiculo implements Serializable {
     
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="num_chasis", length = 20)
	private String chasis;
	@Column(name="val_recorrido_km")
	private Double recorridoKilometros;
	@Column(name="val_recorrido_hr")
	private Double recorridoHoras;
	@Column(name="cod_pais", length =  3)
	private String codigoPais;
	@Column(name="fec_ult_visita_tal")
	@Temporal(TemporalType.DATE)
	private Date fechaUltimaVisitaTaller;
	@Column(name="num_placa_veh", length =12)
	private String  placa;
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumns({@JoinColumn(name = "cod_modelo_veh", referencedColumnName="cod_modelo_veh", insertable = false, updatable = false),
				@JoinColumn(name = "cod_marca", referencedColumnName="cod_marca", insertable = false, updatable = false),
				@JoinColumn(name = "cod_tipo_vehiculo", referencedColumnName="cod_tipo_vehiculo", insertable = false, updatable = false)})
	private Modelo modelo;
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "cod_propietario_veh", referencedColumnName="cod_cliente", insertable = false, updatable = false)
	private Cliente propietario;
	
	public Vehiculo() {
		
	}
	
	public Vehiculo(String chasis) {
		this.chasis = chasis;
	}

	public String getChasis() {
		return chasis;
	}

	public void setChasis(String chasis) {
		this.chasis = chasis;
	}

	public Modelo getModelo() {
		return modelo;
	}

	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}

	public Cliente getPropietario() {
		return propietario;
	}

	public void setPropietario(Cliente propietario) {
		this.propietario = propietario;
	}

	public Double getRecorridoKilometros() {
		return recorridoKilometros;
	}

	public void setRecorridoKilometros(Double recorridoKilometros) {
		this.recorridoKilometros = recorridoKilometros;
	}

	public Double getRecorridoHoras() {
		return recorridoHoras;
	}

	public void setRecorridoHoras(Double recorridoHoras) {
		this.recorridoHoras = recorridoHoras;
	}

	public String getCodigoPais() {
		return codigoPais;
	}

	public void setCodigoPais(String codigoPais) {
		this.codigoPais = codigoPais;
	}

	public Date getFechaUltimaVisitaTaller() {
		return fechaUltimaVisitaTaller;
	}

	public void setFechaUltimaVisitaTaller(Date fechaUltimaVisitaTaller) {
		this.fechaUltimaVisitaTaller = fechaUltimaVisitaTaller;
	}

	public String getPlaca() {
		return placa;
	}
	
	public void setPlaca(String placa) {
		this.placa = placa;
	}
	
}